From 8658df107c3fd90e4a481e8c5c1dbdeb9a7d7e30 Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Thu, 25 Jan 2007 12:24:43 +0000 Subject: [PATCH] netfront: Check availability of grant references in start_xmit(). Signed-off-by: Tomonari Horikoshi --- linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c index 448a972cc4..01ccb15b72 100644 --- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c +++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c @@ -613,6 +613,10 @@ static int network_open(struct net_device *dev) static inline int netfront_tx_slot_available(struct netfront_info *np) { + /* XXX Need to check we have enough grants for worst-case fragments. */ + if (gnttab_empty_grant_references(&np->gref_tx_head)) + return 0; + return RING_FREE_REQUESTS(&np->tx) >= MAX_SKB_FRAGS + 2; } -- 2.30.2